package com.peas.platform.module.icims.budget.project.controller.vo;

import com.peas.platform.common.core.vo.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.*;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel("二级项目申报绩效指标")
public class BudgetProjectTwoKpiVo extends BaseVo {

    // （二级项目申报表）外键
    @ApiModelProperty(value = "二级项目申报表ID", notes = "")
    private Long projectTwoId;

    // 0总目标，1本年度绩效目标
    @ApiModelProperty(value = "绩效目标分类", notes = "")
    @Size(max = 4, message = "绩效目标分类不能超过4个字符")
    private String performanceType;

    @ApiModelProperty(value = "指标等级", notes = "")
    private Integer level;

    @ApiModelProperty(value = "指标编码", notes = "")
    @Size(max = 200, message = "指标编码不能超过200个字符")
    private String kpiCode;

    @ApiModelProperty(value = "指标名称", notes = "")
    @Size(max = 200, message = "指标名称不能超过200个字符")
    private String kpiName;

    // 手动输入
    @ApiModelProperty(value = "指标内容", notes = "")
    @Size(max = 200, message = "指标内容不能超过200个字符")
    private String kpiContent;

    // 手动输入
    @ApiModelProperty(value = "指标值", notes = "")
    @Size(max = 200, message = "指标值不能超过200个字符")
    private String kpiValue;

    @ApiModelProperty(value = "周期指标值", notes = "")
    @Size(max = 200, message = "周期指标值不能超过200个字符")
    private String kpiValuePeriod;

    // 手动输入
    @ApiModelProperty(value = "备注", notes = "")
    @Size(max = 200, message = "备注不能超过200个字符")
    private String remark;

    // 倒序排序
    @ApiModelProperty(value = "排序权重", notes = "")
    private Integer weight;

    // （二级项目绩效指标表）外键
    @ApiModelProperty(value = "上级指标ID", notes = "")
    private Long parentId;

}
